Events and streams of events are often used in data processing to enable the producer of an event to be decoupled from the consumer of the event. Events may be used in many areas of data processing. Chatbots, for example, may be mechanisms for generating conversations in natural language. An event may describe a component of a natural language conversation submitted by a user to a chatbot and may be used by the chatbot for generating a natural language dialog. The conversations may be related to obtaining information, performing tasks, and the like. Chatbots typically follow rigid conversational tracks and may perform poorly in responding to a change of conversational direction or a change of context by a user of the chatbot.